// 数据库同步脚本
// 该脚本用于同步数据库模型，确保数据库结构与模型定义一致

const { sequelize, testConnection, syncModels } = require('./db');
const config = require('./config');

async function syncDatabase() {
  try {
    console.log('🔄 开始同步数据库...');
    
    // 测试数据库连接
    await testConnection();
    
    // 设置环境变量以允许强制同步（仅在开发环境中）
    if (config.environment === 'development' || process.env.NODE_ENV === 'development') {
      process.env.ALLOW_FORCE_SYNC = 'true';
    }
    
    // 同步模型
    await syncModels();
    
    console.log('✅ 数据库同步完成');
  } catch (error) {
    console.error('❌ 数据库同步失败:', error.message);
    process.exit(1);
  } finally {
    // 关闭数据库连接
    await sequelize.close();
    console.log('🔒 数据库连接已关闭');
  }
}

// 执行同步
syncDatabase();